package com.ygqh.baby.mapper;

/**
 * 〈mapper接口超类〉
 *
 * @author guohao
 * @date 2018/12/7 15:54
 * @since 1.0.0
 */
public interface BaseMapper<T> {

    /**
     * 按id删除
     *
     * @param id id
     * @return int
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 插入（不忽略null值）
     *
     * @param record 值对象
     * @return int
     */
    int insert(T record);

    /**
     * 插入（忽略null值）
     *
     * @param record 值对象
     * @return int
     */
    int insertSelective(T record);

    /**
     * 按id查找
     *
     * @param id id
     * @return T
     */
    T selectByPrimaryKey(Integer id);


    /**
     * 基于主键更新 忽略null
     *
     * @param record 值对象
     * @return int
     */
    int updateByPrimaryKeySelective(T record);

    /**
     * 基于主键更新 不忽略null
     *
     * @param record 值对象
     * @return int
     */
    int updateByPrimaryKey(T record);

}
